Large organizations are constantly deploying new computer hardware. For example, a corporation may deploy a new desktop computer system each time an employee is hired and on some regular interval (e.g., every five years) during an employee's employment. Deployment is also common in data centers, where administrators deploy new servers for many reasons, such as to add services, to replace aging hardware, and so forth. Application hosting companies may add servers as user demand increases or as a number of applications hosted increases. Because it is not generally feasible to run an operating system (OS) setup program, which can take many minutes to hours, on each new computer system, it is common in physical machine operating system deployment to deploy a physical image of the operating system to the hard disks of new computer systems. The operating system image may be preconfigured to include common software for the organization, as well as configuration settings (e.g., for security) desired by the organization.
Virtualization refers to the execution of a virtual machine by physical hardware and then running operating systems and/or applications virtually on the virtual machine. The virtual machine may represent a least common denominator of hardware functionality or may represent a well-known configuration for which it is easy to prepare an operating system and applications. Many data centers use virtualization to be able to easily move a virtual machine to new physical hardware as resource requirements increase, for maintenance cycles, and to balance physical server loads. Virtualization is useful for many situations, but can also impose limitations that occur due to many virtual machines contending for the same resources (e.g., central processing unit (CPU), memory, and network interface card (NIC)). Running a virtual machine also typically still entails some initial physical deployment to prepare the physical hardware to run virtual machines.
Although newer operating systems, such as MICROSOFT WINDOWS 7, have added support for booting virtual images natively, system administrators routinely still manage many physical deployments. In addition, although virtualization provides many benefits, it has created a new problem in that administrators have doubled their work by the management of two paradigms. Typically, an administrator chooses at the time of deployment to create either a physical deployment image or a virtual deployment image, and is locked into that choice in the future. Thus, the physical and virtual worlds are two separate configuration options. If it later becomes beneficial to make a different choice, such as moving from physical to virtual to allow easier migration as described above, then the administrator has to build a new virtual image and migrate data from the retiring physical deployment to the new virtual machine. This is both time consuming and redundant.